<?php
/**
* By GTON
*QQ :27612285
*msn:gton@163.com
*blog :www.98202.com
*/
$cmpFile=array(0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f');
$img_scr=file_get_contents("http://comment.56.com/include/auth_img.php");
$imgObj=imagecreatefromstring($img_scr);
imagegif($imgObj,'code.gif');
$imgObj=imagecreatefromgif("code.gif");
$img_s=getimagesize("code.gif");
$flag=0;
$newImgObj=imagecreate($img_s[0],$img_s[1]);
imagecolorallocate($newImgObj, 255, 255, 255);

for ($i=0;$i<$img_s[1];$i++){
 for ($j=0;$j<$img_s[0];$j++)
 {
 	$rgb = imagecolorat($imgObj,$j, $i);
	if ($rgb<129)
		$rgb=0;
	else 
	{
	$rgb=140;
	}
  imagesetpixel($newImgObj,$j,$i,$rgb);
 }
}
$x=imagesx($newImgObj);
$y=imagesy($newImgObj);
$offx=$x/4;
for ($i=0;$i<4;$i++)
{
	$imgs[$i]=imagecreate($offx,$y);
	imagecopy ($imgs[$i],$newImgObj,0,0,$i*$offx,0,$offx,$img_s[1]);
}
for ($i=0;$i<4;$i++)
{
	$img=$imgs[$i];
	$nn[$i]='x';
	$gl=0;
	for ($j_=0;$j_<3;$j_++)
	{
		for ($_j=0;$_j<count($cmpFile);$_j++)
		{
			$cap=myUnSerialize($j_."_".$cmpFile[$_j]);
			$docap=img2array($img);
			$tgl=array_array($docap,$cap);
			$index;
			$_inde;
			if ($tgl>$gl)
			{
				$_inde=$j_;
				$gl=$tgl;
				$index=$_j;
				$nn[$i]=$cmpFile[$_j];
				if ($gl>=100)
				break;
			}
		}
	
			
	}
	imagedestroy($img);
}
imagedestroy($imgObj);
$rand=rand(0,1000);
echo "<img src='code.gif?$rand'/>:";
for ($i=0;$i<4;$i++)
{
	echo $nn[$i];
}


function printarr($arr){
	for ($i=0;$i<count($arr);$i++){
 for ($j=0;$j<count($arr[$i]);$j++)
 {
 	echo $arr[$i][$j]."*";
 }
 echo "\n<br>";
}
}

function array_array($arr,$arr1)
{
	$res=0;
	$has=0;
	for ($i=0;$i<count($arr);$i++){
	 for ($j=0;$j<count($arr[$i]);$j++)
	 {
	 	if ($arr[$i][$j]==0)
	 	continue;
	 	$has++;
	 	if ($arr[$i][$j]==$arr1[$i][$j])
	 	{
	 		$res++;
	 	}
	 }
	}
	return intval($res/$has*100);
}
function myUnSerialize($name)
{
	$filename = './obj/'.$name.'.obj';
	return unserialize(file_get_contents($filename));
}
function img2array($img)
{
$x=imagesx($img);
$y=imagesy($img);
for ($i=0;$i<$y;$i++){
 for ($j=0;$j<$x;$j++)
 {
 	$imgarr[$i][$j]=imagecolorat($img,$j, $i);
 }
}
$starx=20;
$stary=0;
$endx=0;
$xlen=count($imgarr[$i]);
for ($i=0;$i<count($imgarr);$i++){
 for ($j=0;$j<count($imgarr[$i]);$j++)
 {
 	if ($imgarr[$i][$j]!=0)
 	{
 		
 		if ($stary==0)
 		$stary=$i;
 		if ($j<$starx)
 		$starx=$j;
 	 if ($j>$endx)
 	 $endx=$j;

 	}
 }
}
$offet=(20-($endx-$starx+1))/2-$starx;
if ($offet==-1&&(20-($endx-$starx+1))%2!=0)
$offet=0;
$newarr=array();
for ($i=0;$i<20;$i++)
{
	$newarr[$i]=array_fill(0,20,0);
}

for ($i=0;$i<count($imgarr);$i++){
 for ($j=0;$j<count($imgarr[$i]);$j++)
 {
 	if ($imgarr[$i][$j]!=0)
 	{
 		$newarr[$i-$stary][$j+$offet]=$imgarr[$i][$j];
 	}
 }
}
return $newarr;
}
?>